Detection and repositioning of pop-up dialogs

ABSTRACT

An embodiment of the invention provides a method where a file is displayed on a display screen of a mobile device; and, a pop-up is identified outside of the visible area on the display screen of the mobile device. The identification of the pop-up includes detecting a document object model change in the file, the presence of one or more non-active elements in the file, and/or a change in luminance in an area outside of the visible area on the display screen. A controller moves the pop-up to the visible area on the display screen, or the visible area on the display screen is moved to the pop-up.

BACKGROUND

The present invention is in the field of systems, devices, methods, andcomputer program products for the detection and repositioning of pop-updialogs.

Many mobile devices, such as smart phones and tablet computers, have thecapability of accessing and displaying files, applications, and/or webpages. Due to the portable sizes of such mobile devices, display screensoften display only a portion of the web page. In order to navigate orzoom in or out of a web page, a user can enter input, for example, viaarrow keys, scroll bars, or touch screen commands. Display screens canalso be adjusted by tilting or rotating the mobile devices.

SUMMARY OF THE INVENTION

An embodiment of the invention provides a method where a file isdisplayed on a display screen of a mobile device; and, a pop-up isidentified outside of the visible area on the display screen of themobile device. The identification of the pop-up includes detecting adocument object model change in the file, the presence of one or morenon-active elements in the file, and/or a change in luminance in an areaoutside of the visible area on the display screen. A controller movesthe pop-up to the visible area on the display screen, or the visiblearea on the display screen is moved to the pop-up.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The present invention is described with reference to the accompanyingdrawings. In the drawings, like reference numbers indicate identical orfunctionally similar elements.

FIG. 1 is a flow diagram illustrating a method for displaying a pop-upaccording to an embodiment of the invention;

FIG. 2 illustrates a web page being displayed on a mobile deviceaccording to an embodiment of the invention;

FIG. 3 illustrates the mobile device shown in FIG. 2, wherein the pop-upis moved to the visible area;

FIG. 4 illustrates the mobile device shown in FIG. 2, wherein thevisible area is moved to the pop-up location;

FIG. 5 illustrates a system for displaying a pop-up according to anembodiment of the invention; and

FIG. 6 illustrates a computer program product according to an embodimentof the invention.

DETAILED DESCRIPTION

Exemplary, non-limiting, embodiments of the present invention arediscussed in detail below. While specific configurations are discussedto provide a clear understanding, it should be understood that thedisclosed configurations are provided for illustration purposes only. Aperson of ordinary skill in the art will recognize that otherconfigurations may be used without departing from the spirit and scopeof the invention.

An embodiment of the invention provides a method to detect when a webpage pop-up (also referred to as a “pop-up dialog”, “pop-up window”, or“secondary window”) has been created outside of a user's visible area ona mobile device (e.g., smart phone, tablet computer). After detectingthe creation of a non-visible pop-up, the mobile device can eitherintercept and redirect the pop-up to a visible area on the mobiledevice's display screen, or redirect the visible area on the displayscreen to the area of the web page that contains the pop-up. As usedherein, the terms “visible area” and “viewable area” include the portionof the file, application, or web page that is displayed on the displayscreen of the mobile device.

Another embodiment of the invention provides a system that a pop-updialog that has opened or is attempting to open. The system can alsocalculate the screen resolution, detect any special mode(s) that thedevice is in (e.g., zoom factor), detect the coordinates of the pop-updialog, detect the coordinates that the pop-up dialog is trying to opento, detect whether the pop-up dialog is out of focus, redirect thepop-up dialog to the active viewable area, or move the active viewablearea to the pop-up dialog. In at least one embodiment, an informationdialog is presented to the user in the active viewable area, where theinformation dialog informs the user that a pop-up dialog was createdelsewhere and gives the user an option to move the viewable area of thescreen. In another embodiment, the system utilizes user preferences forpop-up placement and/or viewable area shifting. The system allows anapplication developer to focus on application logic without requiringdevice specific application windows placement logic inside the code.Moreover, the system reduces the development time and increases theusability for the consumer.

The creation of a non-visible pop-up dialog can be detected by detectinga document object model (DOM) change through a browser modification orplugin. In another embodiment, the creation of a non-visible pop-updialog can be detected by detecting a model pop-up (by inference) and byprobing for non-active elements (e.g., fields, scroll bars, buttons).The creation of a non-visible pop-up dialog can also be detected bydetecting luminance changes within a display screen.

In order to detect pop-up dialogs, the system can obtain the currentscreen resolution, the current window placement user preferences, andperform either a cooperative process, an active process, or a luminancechange process. The cooperative process sets a global variable for theHyperText Markup Language (HTML) page (e.g., via javascript), whichindicates the current visible window placement and size/zoom factor.This process monitors for an HTML pop-up window event, determineswhether the pop-up window script honors the global variable, andvoluntarily sets the pop-up window location.

In at least one embodiment, the cooperative process detects multiple DOMvalues and state changes. The DOM values can include the height andwidth, the location of the visible area, and the scale, etc.; and, thestate changes can include window resize and device rotation. Thecooperative process can also detect the disabling of certain browsercapabilities, which can include scrolling, resizing (unless the devicerotates), the right mouse button, and/or the back button.

The active process can monitor for an HTML pop-up window event (e.g., byinference) by probing for non-active elements, such as fields, scrollbars, and buttons. In at least one embodiment, the luminance changeprocess measures and records the luminance of pixels on the web page atload time (i.e., the instance where the web page is loaded onto themobile device) across the viewport. As used herein, the term “viewport”includes the total area of a web page, file, or document. Thus, theviewport can be larger than the area that is visible on the displayscreen. In at least one embodiment, the luminance of all of the pixelsin the viewport is measured and recorded.

The luminance of the pixels can be measured periodically, when a webpage is refreshed, and/or when a new web page is loaded. If theluminance of a threshold number and/or percentage of pixels has changed(e.g., 2%), then the pixels(s) and/or area of the viewport where thechange occurred can be recorded. The coordinates of the unchangedarea(s) can also be recorded. If the pixels where the luminance changeoccurred are proximate one another or in a consecutive area (i.e., nointermediate areas of no luminance change), then the area can be taggedas a pop-up. Consecutive areas of luminance change are typically in theshape of a rectangle. If exact coordinates of the changed pixels cannotbe identified, the system can estimate the coordinates of the changedpixels and/or identify the quadrant of luminance change.

To move the pop-up to the visible area, the current visible area of thefile (e.g., x and y coordinates) is determined after a pop-up isdetected. A script injection technique can be used or a function can beembedded into the rendering engine that replaces the pop-up locationcoordinates with a value that is in the relative center of the visiblearea. For example, the Firefox script monkey (available from MozillaCorporation, Mountain View, Calif., USA) can be used as a scriptinjection technique.

To move the visible area of the display screen to the pop-up, thepop-up's rendered location (e.g., x and y coordinates) and/or relativecenter location can be determined. The viewable area window is moved tooverlap the pop-up. In other words, the center of the visible area ofthe display screen is modified to match the coordinates of the pop-upcenter.

In at least one embodiment of the invention, if the pop-up extendsbeyond the visible window, then the zoom factor of the display screen isadjusted to incorporate the entire pop-up. In another embodiment, thevisible window is moved to display the pop-up window title bar and/orthe first editable field and/or button.

FIG. 1 is a flow diagram illustrating a method for displaying a pop-upaccording to an embodiment of the invention. A file is displayed on adisplay screen of a mobile device (e.g., smart phone, tablet computer,laptop computer) 110. As used herein, the term “file” includes adocument, web page, or computer application. A pop-up is identifiedoutside of a visible area on the display screen of the mobile device(also referred to herein as the “visible window” or “viewable area”)120.

For example, as illustrated in FIG. 2, a web page 200 is downloaded ontoa mobile telephone 210. Due to the size of the web page 200 and the sizeof the display screen 220 of the mobile telephone 210, only the upperleft portion of the web page 200 is in the viewable area 202 of the webpage 200. In other words, only the upper left portion of the web page200 can be displayed in the display screen 220 of the mobile telephone210. A pop-up 230 is present on the web page 200. However, due to thesizes of the web page 200 and the display screen 220, the pop-up isoutside of the visible area on the display screen 220.

In at least one embodiment, the pop-up is identified by detecting adocument object model change in the file 122. The document object modelchange can be a browser modification and/or a browser plug-in.Additionally, the document object model change can be a change in theheight of the file, the width of the file, the scale of the file, thescreen resolution of the file, and/or the location of the visible areaof the file. The document object model change can also be a change inbrowser capability (e.g., scrolling, resizing, key commands, and/orbutton commands).

The document object model change can be detected by setting a globalvariable for a HyperText Markup Language (HTML) page, wherein the globalvariable indicates the current visible window placement, a size factor,and a zoom factor. The web page can be compared to the global variablesuch that it can be determined that the document object model haschanged if the web page does not match the global variable.

In another embodiment, the pop-up is identified by detecting thepresence of one or more non-active elements in the file 124. Thenon-active elements can include fields, scroll bars, buttons, and/oricons in the file. In yet another embodiment, the pop-up is identifiedby detecting a change in luminance in the area outside of the visiblearea on the display screen 126.

More specifically, in at least one embodiment, the luminance of thepixels in the file is determined at the time the file is loaded onto themobile device; and, the luminance of the pixels in the file isdetermined at a subsequent time. The subsequent time can be apredetermined time from the time that the file was loaded onto themobile device. For example, the luminance of the pixels in the file canbe measured every 60 seconds (or some other predetermined samplingperiod) after the file is downloaded and displayed on the mobile device.In another embodiment, the luminance of the pixels in the file can bemeasured every time that the file is refreshed. The luminance of thepixels in the file at the time the file was loaded onto the mobiledevice is compared with the luminance of pixels in the file at thesubsequent time. The pixels in the file that are detected as having aluminance change are identified as a pop-up.

In at least one embodiment of the invention, a controller moves thepop-up to the visible area on the display screen 130A. For example, asillustrated in FIG. 3, the pop-up 230 is moved to the viewable area 202of the web page 200 (i.e., in the display screen 220). In anotherembodiment, the controller redirects the visible area on the displayscreen to the pop-up 130B. For example, as illustrated in FIG. 4, thevisible area on the display screen 220 is automatically shifted to theright of the web page 200 such that the pop-up 230 is viewable in thedisplay screen 220.

FIG. 5 illustrates a system 500 (also referred to herein as the“device”) for displaying a pop-up according to an embodiment of theinvention. The system 500 includes a display screen 510 for displaying afile on a mobile device, wherein the display screen is connected to aprocessor 520. As used herein, the term “processor” includes a hardwarecomputing device that identifies a pop-up outside of the visible area ofa display screen. As used herein, the term “connected” includesoperationally connected, logically connected, in communication with,physically connected, engaged, coupled, contacts, linked, affixed, andattached.

The processor 520 detects a document object model change in the file,the presence of one or more non-active elements in the file (e.g.,fields, scroll bars, and/or buttons), and/or a change in luminance in anarea outside of the visible area on the display screen 510. Morespecifically, the processor 520 can detect a browser modification and/ora browser plug-in. Furthermore, the processor 520 can detect a change inthe height of the file, the width of the file, the location of thevisible area of the file, the scale of the file, the resolution of thefile, and/or a change in a browser capability (e.g., scrolling,resizing, key commands, and/or button commands).

In at least one embodiment of the invention, the processor 520 sets aglobal variable for a HyperText Markup Language page and determineswhether a webpage matches the global variable. The global variable canindicate the current visible window placement, the size factor, and/orthe zoom factor.

In another embodiment, the processor 520 determines the luminance of thepixels in the file at the time that the file is loaded onto the mobiledevice, and determines the luminance of the pixels in the file at asubsequent time. The subsequent time can be a predetermined time fromthe time that the file was loaded onto the mobile device and/or a timewhen the file is refreshed. The processor 520 can compare the luminanceof the pixels in the file at the subsequent time with the luminance ofpixels in the file at the time the file was loaded onto the device.Thus, the processor 520 can identify pixels in the file having aluminance change as a pop-up.

The processor 520 is connected to a controller 530. As used herein, theterm “controller” includes a hardware computing device that can move thepop-up to the visible area on the display screen 510 or move the visiblearea on the display screen 510 to the pop-up.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment or an embodiment combining softwareand hardware aspects that may all generally be referred to herein as a“circuit,” “module” or “system.” Furthermore, aspects of the presentinvention may take the form of a computer program product embodied inone or more computer readable medium(s) having computer readable programcode embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

Referring now to FIG. 6, a representative hardware environment forpracticing at least one embodiment of the invention is depicted. Thisschematic drawing illustrates a hardware configuration of an informationhandling/computer system in accordance with at least one embodiment ofthe invention. The system comprises at least one processor or centralprocessing unit (CPU) 10. The CPUs 10 are interconnected with system bus12 to various devices such as a random access memory (RAM) 14, read-onlymemory (ROM) 16, and an input/output (I/O) adapter 18. The I/O adapter18 can connect to peripheral devices, such as disk units 11 and tapedrives 13, or other program storage devices that are readable by thesystem. The system can read the inventive instructions on the programstorage devices and follow these instructions to execute the methodologyof at least one embodiment of the invention. The system further includesa user interface adapter 19 that connects a keyboard 15, mouse 17,speaker 24, microphone 22, and/or other user interface devices such as atouch screen device (not shown) to the bus 12 to gather user input.Additionally, a communication adapter 20 connects the bus 12 to a dataprocessing network 25, and a display adapter 21 connects the bus 12 to adisplay device 23 which may be embodied as an output device such as amonitor, printer, or transmitter, for example.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the root terms “include”and/or “have”, when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of at least oneother feature, integer, step, operation, element, component, and/orgroups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans plus function elements in the claims below are intended to includeany structure, or material, for performing the function in combinationwith other claimed elements as specifically claimed. The description ofthe present invention has been presented for purposes of illustrationand description, but is not intended to be exhaustive or limited to theinvention in the form disclosed. Many modifications and variations willbe apparent to those of ordinary skill in the art without departing fromthe scope and spirit of the invention. The embodiment was chosen anddescribed in order to best explain the principles of the invention andthe practical application, and to enable others of ordinary skill in theart to understand the invention for various embodiments with variousmodifications as are suited to the particular use contemplated.

What is claimed is:
 1. A method comprising: displaying a file on adisplay screen of a device; identifying a pop-up outside of a visiblearea on the display screen of the device, said identifying of the pop-upincluding at least one of: detecting a document object model change inthe file, detecting a presence of at least one non-active element in thefile, and detecting a change in luminance in an area outside of thevisible area on the display screen; determining a rendered location ofthe pop-up, the rendered location including x and y coordinates; andmoving the visible area on the display screen to the rendered locationof the pop-up with a controller, such that a center of the visible areaof the display screen is modified to match the x and y coordinates ofthe pop-up.
 2. The method according to claim 1, wherein said detectingof the document object model change includes detecting at least one of abrowser modification and a browser plug-in.
 3. The method according toclaim 1, wherein said detecting of the document object model changeincludes detecting a change in at least one of a height of the file, awidth of the file, a location of a visible area of the file, a scale ofthe file, a resolution of the file, and a change in a browsercapability.
 4. The method according to claim 3, wherein the browsercapability includes at least one of scrolling, resizing, key commands,and button commands.
 5. The method according to claim 1, wherein saiddetecting of the document object model change includes: setting a globalvariable for a HyperText Markup Language (HTML) page, the globalvariable indicating a current visible window placement, a size factor,and a zoom factor; and determining whether a webpage matches the globalvariable.
 6. The method according to claim 1, wherein the at least onenon-active element includes at least one of fields, scroll bars, andbuttons.
 7. The method according to claim 1, wherein said detecting ofthe change in luminance includes: determining luminance of pixels in thefile at a time the file is loaded onto the device; determining luminanceof the pixels in the file at a subsequent time, the subsequent timeincluding at least one of: a predetermined time from the time that thefile was loaded onto the device, and a time when the file is refreshed;and comparing the luminance of the pixels in the file at the subsequenttime with the luminance of pixels in the file at the time the file wasloaded onto the device.
 8. The method according to claim 7, furthercomprising identifying pixels in the file having a luminance change as apop-up.
 9. The method according to claim 1, further comprisingdisplaying an information dialog on the display screen, the informationdialog informing the user that a pop-up dialog was created and givingthe user an option to move the visible area on the display screen. 10.The method according to claim 1, further comprising utilizing userpreferences for at least one of pop-up placement and viewable areashifting.
 11. The method according to claim 1, further comprisingadjusting a zoom factor of the display screen to incorporate an entirepop-up when the pop-up extends beyond the visible window.
 12. A methodcomprising: displaying a webpage on a display screen of a device, thewebpage having a first size and the display screen having a second size,wherein the first size is larger than the second size; identifying apop-up on the webpage, the pop-up being located outside of a visiblearea on the display screen of the device, said identifying of the pop-upincluding: detecting a document object model change in the webpage,detecting a presence of at least one non-active element in the webpage,and detecting a change in luminance in an area outside of the visiblearea on the display screen; determining a rendered location of thepop-up, the rendered location including x and y coordinates; and movingthe visible area on the display screen to the rendered location of thepop-up with a controller, such that a center of the visible area of thedisplay screen is modified to match the x and y coordinates of thepop-up.
 13. The method according to claim 12, wherein said detecting ofthe document object model change includes detecting a browsermodification and a browser plug-in.
 14. The method according to claim12, wherein said detecting of the document object model change includesdetecting a change in a height of the webpage, a width of the webpage, alocation of a visible area of the webpage, a scale of the webpage, aresolution of the webpage, and a change in a browser capability.
 15. Themethod according to claim 12, wherein said detecting of the documentobject model change includes: setting a global variable for a HyperTextMarkup Language (HTML) page, the global variable indicating a currentvisible window placement, a size factor, and a zoom factor; anddetermining whether a webpage matches the global variable.
 16. Themethod according to claim 12, wherein the at least one non-activeelement includes fields, scroll bars, and buttons.
 17. The methodaccording to claim 12, wherein said detecting of the change in luminanceincludes: determining luminance of pixels in the webpage at a time thewebpage is loaded onto the device; determining luminance of the pixelsin the webpage at a subsequent time, the subsequent time including: apredetermined time from the time that the webpage was loaded onto thedevice, and a time when the webpage is refreshed; and comparing theluminance of the pixels in the webpage at the subsequent time with theluminance of pixels in the webpage at the time the webpage was loadedonto the device.
 18. A method comprising: displaying a webpage on adisplay screen of a device; identifying a pop-up outside of a visiblearea on the display screen of the device, said identifying of the pop-upincluding at least one of: detecting a document object model change inthe webpage, detecting a presence of at least one non-active element inthe webpage, and detecting a change in luminance in an area outside ofthe visible area on the display screen; determining a rendered locationof the pop-up, the rendered location including x and y coordinates; andmoving the visible area on the display screen to the rendered locationof the pop-up with a controller, such that a center of the visible areaof the display screen is modified to match the x and y coordinates ofthe pop-up.
 19. The method according to claim 18, wherein said detectingof the document object model change includes detecting at least one of abrowser modification and a browser plug-in.
 20. The method according toclaim 18, wherein said detecting of the document object model changeincludes detecting a change in at least one of a height of the webpage,a width of the webpage, a location of a visible area of the webpage, ascale of the webpage, a resolution of the webpage, and a change in abrowser capability.
 21. The method according to claim 18, wherein saiddetecting of the document object model change includes: setting a globalvariable for a HyperText Markup Language (HTML) page, the globalvariable indicating a current visible window placement, a size factor,and a zoom factor; and determining whether a webpage matches the globalvariable.
 22. The method according to claim 18, wherein the at least onenon-active element includes at least one of fields, scroll bars, andbuttons.
 23. The method according to claim 18, wherein said detecting ofthe change in luminance includes: determining luminance of pixels in thewebpage at a time the webpage is loaded onto the device; determiningluminance of the pixels in the webpage at a subsequent time, thesubsequent time including at least one of: a predetermined time from thetime that the webpage was loaded onto the device, and a time when thewebpage is refreshed; and comparing the luminance of the pixels in thewebpage at the subsequent time with the luminance of pixels in thewebpage at the time the webpage was loaded onto the device.
 24. A methodcomprising: displaying a file on a display screen of a mobile device;identifying a pop-up outside of a visible area on the display screen ofthe mobile device, said identifying of the pop-up including: detecting adocument object model change in the file, detecting a presence of atleast one non-active element in the file, and detecting a change inluminance in an area outside of the visible area on the display screen;determining a rendered location of the pop-up, the rendered locationincluding x and y coordinates; and moving the visible area on thedisplay screen to the rendered location of the pop-up with a controller,such that a center of the visible area of the display screen is modifiedto match the x and y coordinates of the pop-up.
 25. The method accordingto claim 24, wherein said detecting of the document object model changeincludes detecting a browser modification and a browser plug-in.